package com.atguigu.mybatisplus.service;

import com.atguigu.mybatisplus.model.entity.Role;
import com.atguigu.mybatisplus.model.form.RoleForm;
import com.atguigu.mybatisplus.model.query.RolePageQuery;
import com.atguigu.mybatisplus.model.vo.DataRolePageVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface RoleService extends IService<Role> {
    /**
     * 分页查询角色列表
     * @param rolePageQuery
     * @return
     */
    DataRolePageVO getRolePage(RolePageQuery rolePageQuery);

    /**
     * 新增角色
     * @param roleForm
     * @return
     */
    void saveRole(RoleForm roleForm);

    /**
     * 更新角色
     * @param roleForm
     */
    void updateRole(RoleForm roleForm);

    /**
     * 获取角色的菜单ID列表
     * @param roleId
     * @return
     */
    List<Integer> getMenuIds(Long roleId);

    /**
     * 更新角色状态
     * @param roleId
     * @param status
     */
    void updateStatus(Long roleId, Integer status);
}
